<!doctype html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta name="viewport"
	      content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
	<meta http-equiv="X-UA-Compatible" content="ie=edge">
	<title>Document</title>
</head>
<body>

<script src="https://unpkg.com/vue/dist/vue.js"></script>

<div id="app">
	<child :myprop="text"></child>
	<button @click="text = 'Another text'">Change text</button>
</div>
<script>
  new Vue({
    el: '#app',
    data: {
      text: 'Hello'
    },
    components: {
      'child' : {
        template: `<p>{{ myprop }}</p>`,
        props: {'myprop':''},
        watch: {
          myprop: function(newVal, oldVal) { // watch it
            console.log('Prop changed: ', newVal, ' | was: ', oldVal)
          }
        }
      }
    }
  });
</script>
</body>
</html>